# 使用Ubuntu 22.04作为基础镜像
FROM ubuntu:22.04

# 设置时区
#ENV TZ=UTC
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 更新软件包列表并安装必需的软件包
RUN apt-get update && apt-get install -y \
    build-essential \
    git \
    libpq-dev \
    python3.10 \
    python3-pip \
    cron \
    ntp \
    && rm -rf /var/lib/apt/lists/*

# 设置默认Python版本为Python 3.10
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
RUN update-alternatives --set python /usr/bin/python3.10

# 将工作目录设置为/app
WORKDIR /app

# 将当前目录中的代码复制到容器中的/app目录
COPY . /app

# 安装Python依赖项
RUN pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip3 install -r requirements.txt

# 设置脚本执行权限
RUN chmod +x /app/app.sh

# 设置AWS-S3环境变量
ARG BUCKET_NAME=self-defined-in-docker-file

# 创建cron任务文件
RUN echo "*/1 * * * *  root  export BUCKET_NAME=$BUCKET_NAME && python /app/main.py" > /etc/cron.d/app-cronjob &&  \
    chmod 0644 /etc/cron.d/app-cronjob && touch /var/log/app-cronjob.log && crontab /etc/cron.d/app-cronjob

# 容器启动时执行的命令 -f不能停脚本
CMD ["cron","&&", "tail", "-f", "/var/log/app-cronjob.log"]